perm filename Q.SAI[2,BGB] blob
sn#001278 filedate 1972-09-19 generic text, type T, neo UTF8
00100 BEGIN "Q"
00200 REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00300 REQUIRE "DPYIII[SYS,BGB]" SOURCE_FILE;
00350 ITG CNT1,CNT2;
00375 DEFINE Q⊂="QUICK_CODE";
00400
00500 SHORT ITG X,Y,VX,VY,AX,AY;
00600 LABEL SA,B;
00700 SAFE INTEGER ARRAY DPYBUF [0:1000];
00800 ITG P;SAFE INTEGER ARRAY PDL[0:100];
00900
01000 FOR X←1 TO 40 DO OUTSTR(↓);X←600;
01100 B: Q⊂ LABEL L;MOVE PDL;MOVEM P;
01200 MOVEI SA;HRLI '400001;'047000400003;JFCL;JFCL;
01300 L: MOVEI 10,20;'047000000031 10,;JRST L;⊃;
01400
01500 SA: Q⊂ LABEL L1,L2;AOS CNT1;MOVE '17,PDL;JRST 3,@L1;L1: L2;L2:⊃;
01600 IF X>500 THEN ⊂ X ← -500; Y←500; VX ← 3; VY ← 0;⊃;
01700 BEGIN
01800 VY ← VY - 2;
01900 X ← X + VX;
02000 Y ← Y + VY;
02100 IF Y<-500 THEN ⊂ VY ← ABS(VY*0.85);Y ← -500+VY;⊃;
02200 DPYSET(DPYBUF);
02202 AIVECT(-500,-500);
02204 AVECT(+500,-500);
02206 AVECT(+500,+500);
02208 AVECT(-500,+500);
02210 AVECT(-500,-500);
02300 AIVECT(X+10,Y); AVECT(X+7,Y+7);
02400 AVECT(X,Y+10); AVECT(X-7,Y+7);
02500 AVECT(X-10,Y); AVECT(X-7,Y-7);
02600 AVECT(X,Y-10); AVECT(X+7,Y-7);
02700 AVECT(X+10,Y);
02800 DPYOUT(1);
02900 Q⊂ AOS CNT2;JRST 4,;⊃;
03000 END;
03100 END;